package org.persistente.banco;

import java.sql.Connection;
import java.sql.SQLException;

import org.apache.commons.dbcp.BasicDataSource;

public class FonteConexao{

    private BasicDataSource dataSource;
    private ConexaoBancoDados conexaoBancoDados;

    public FonteConexao(ConexaoBancoDados conexao) {

        this.conexaoBancoDados = conexao;

        dataSource = new BasicDataSource();
        dataSource.setDriverClassName(conexao.getClasse());
        dataSource.setUrl(conexao.getStringConexao());
        dataSource.setUsername(conexao.usuario);
        dataSource.setPassword(conexao.senha);
        try {
            Class.forName(conexao.getClasse());
        } catch (ClassNotFoundException ex) {
            throw new ConexaoException(ex);
        }

    }

    public Connection getConexao() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            throw new ConexaoException("Não foi possível obter conexão com o banco de dados", e);
        }
    }

    public ConexaoBancoDados getConexaoBancoDados() {
        return conexaoBancoDados;
    }

    

}
